﻿using System;
using System.Collections.Generic;
using System.Text;
using Manager.App_Code.IDAL;
using Manager.App_Code.DTO;
using System.Data;

namespace Manager.App_Code.DAL
{
    class TinhTrangPhongDAL:StandardConnectDB, ITinhTrangPhong
    {

        public List<DTO.TinhTrangPhongDTO> GetListTinhTrangPhong()
        {
            List<TinhTrangPhongDTO> listTinhTrang = new List<TinhTrangPhongDTO>();

            DataTable dt = this.DTExecuteSelect("Select * from TinhTrangPhong");

            foreach (DataRow dr in dt.Rows)
            {
                listTinhTrang.Add(ConvertOjectDataRowToTinhTrangPhongDTO(dr));

            }
            return listTinhTrang;
        }

        public DTO.TinhTrangPhongDTO GetTinhTrangPhongByID(string Matinhtrang)
        {
            TinhTrangPhongDTO tinhtrang = new TinhTrangPhongDTO();

            Dictionary<string, object> paramlist = new Dictionary<string, object>();

            paramlist.Add("@MaTinhTrang", Matinhtrang);

            DataTable dt = this.DTExecuteSelect("SP_TinhTrangPhong_GetByID", paramlist);

            tinhtrang = ConvertOjectDataRowToTinhTrangPhongDTO(dt.Rows[0]);

            return tinhtrang;
        }

        public bool InsertTinhTrangPhong(DTO.TinhTrangPhongDTO tinhtang)
        {
            Dictionary<string, object> paramlist = new Dictionary<string, object>();

            paramlist.Add("@MaTinhTrang", tinhtang.MaTinhTrang);

            paramlist.Add("@TenTinhTrang", tinhtang.TenTinhTrang);

            
            return this.ExecuteUpdate("SP_TinhTrangPhong_Insert", paramlist);

            
        }

        public bool DeleteTinhTrangPhong(DTO.TinhTrangPhongDTO tinhtrang)
        {
            Dictionary<string, object> paramlist = new Dictionary<string, object>();

            paramlist.Add("@MaTinhTrang", tinhtrang.MaTinhTrang);

            return this.ExecuteUpdate("SP_TinhTrangPhong_Delete", paramlist);

        }

        public bool UpdateTinhTrangPhong(DTO.TinhTrangPhongDTO tinhtrang)
        {
            Dictionary<string, object> paramlist = new Dictionary<string, object>();

            paramlist.Add("@MaTinhTrang", tinhtrang.MaTinhTrang);

            paramlist.Add("@TenTinhTrang", tinhtrang.TenTinhTrang);

            //paramlist.Add("@TuNgay", tinhtrang.TuNgay);

            //paramlist.Add("@DenNgay", tinhtrang.DenNgay);

            //paramlist.Add("@GhiChu", tinhtrang.GhiChu);

            return this.ExecuteUpdate("SP_TinhTrangPhong_Update", paramlist);

        }

        public DTO.TinhTrangPhongDTO ConvertOjectDataRowToTinhTrangPhongDTO(System.Data.DataRow dr)
        {
            if (dr != null)
            {
                TinhTrangPhongDTO tinhtrang = new TinhTrangPhongDTO();

                tinhtrang.MaTinhTrang = dr["MaTinhTrang"].ToString();

                tinhtrang.TenTinhTrang = dr["TenTinhTrang"].ToString();

                //if (dr["TuNgay"].ToString() != "")
                //{
                //    tinhtrang.TuNgay = DateTime.Parse(dr["TuNgay"].ToString());
                //}

                //if (dr["DenNgay"].ToString() != "")
                //{
                //    tinhtrang.DenNgay = DateTime.Parse(dr["DenNgay"].ToString());
                //}

                //tinhtrang.GhiChu = dr["GhiChu"].ToString();

                return tinhtrang;
            }
            else
            {
                return null;
            }
           
        }
    }
}
